/*
 *   RapCAD - Rapid prototyping CAD IDE (www.rapcad.org)
 *   Copyright (C) 2010-2014 Giles Bathgate
 *
 *   This program is free software: you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation, either version 3 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "assignstatement.h"

AssignStatement::AssignStatement()
{
	variable=NULL;
	expression=NULL;
	operation=Expression::None;
}

AssignStatement::~AssignStatement()
{
	delete variable;
	delete expression;
}

void AssignStatement::setVariable(Variable* var)
{
	this->variable = var;
}

Variable* AssignStatement::getVariable() const
{
	return this->variable;
}

void AssignStatement::setExpression(Expression* exp)
{
	this->expression = exp;
}

Expression* AssignStatement::getExpression() const
{
	return this->expression;
}

void AssignStatement::setOperation(Expression::Operator_e op)
{
	this->operation=op;
}

Expression::Operator_e AssignStatement::getOperation() const
{
	return this->operation;
}

void AssignStatement::accept(TreeVisitor& v)
{
	v.visit(this);
}
